CMU Course Review
Published:
Offering a review on the courses I took at CMU.
! are the ones that are particularly time consuming for me.
✰ are the ones that are particularly worth taking.
Sophomore Year
Spring 2025
36226 Introduction to Probability Inference
21259 Calculus III
36315 Statistical Graphics & Visualization
67272 Application Design and Development
36350 Statistical Computing
Reflection: 49 units.
Fall 2024
36-225 Introduction to Probability Theory: an introductory probability class, fairly easy overall. The tests were reasonable (not the easiest though) and the lectures were pretty important since they cover a lot of proofs that help you understand the theories. I liked the professor’s way of teaching, extremely efficient and straight to the point.(I spent around 8 hours every week)
21-241 Matrices and Linear Transformation: This class was a frustrating experience for me. The grading scheme is particularly problematic, as it allows no partial credit for small mistakes—a significant issue given the complexity of matrix operations. For example, a minor sign error can result in losing 20% of the exam grade. The course content felt unengaging, and the final exam consisted of 25 multiple-choice questions, which I found unrepresentative of the subject. I don’t believe this exam format effectively evaluates students’ understanding of the material or their mathematical ability in linear algebra. For some reason, the prof refused to give any stats for exams, but I predict that the median class score is a C at the end of the semester. Despite dedicating approximately 9 hours each week to studying, I felt the structure of the course hindered meaningful learning and assessment.
15-150 Principles of Functional Programming: dropped, but the content itself was interesting. The problem is I felt I understood everything in lecture but still didn’t know how to do the homework problems. The OH was not extremely helpful.
36-200 Reasoning with Data: an easy statistics class. (I spent around 3 hours every week)
67-262 Database Design and Development: a database course that started with data querying in SQL (subqueries, windows, triggers…), and then moved on to database design (normalization, functional dependencies…), and noSQL (mongoDB). It was an ok class and Raja was a caring prof. (I spent around 9 hours every week)
99-367 IDEATE: Pragmatic photography: a photography class that teaches you the basics. Would recommend. (I spent around 5 hours for 2 weeks)
94329 Asian Strategies: a fun politics/international relations mini. The class was fast paced with heavy readings, requiring a fair amount of commitment. But I did enjoy everything we covered. (I spent around 6 hours every week)
57337 Sound Recording: a fun music mini. The class was chill with friendly TAs and Prof Riccardo was extremely nice. The homework deadlines were super generous. (I spent around 5 hours every week)
Reflection: I didn’t really enjoy this semester, despite its workload being light (52 units). My study motivation was extremely low and even lower after I dropped 15150, a decision which I regret. I also applied to quite a few companies and got rejected from all. I recall experiencing a lot of self-doubt, missing my parents and friends back home, and feeling homesick for no apparent reasons. I also procrastinated a lot in all of my assignments simply due to a lack of interest in any of the classes (apart from 36225 i guess?). I hated being stuck in Pittsburgh, the consistent rainy weathers, and the 4pm sunsets.
Freshman Year
Summer 2024
✰ 15-213 Introduction to Computer Systems: a low-level systems class taught in C that covers concepts such as assembly language, memory models, network, and concurrent programming. I found this class to be the most engaging CS core I’ve taken so far and I learnt so much from it. The labs were extremely beneficial for understanding the course content, and despite their difficulty, I enjoyed most of them. My favourite was malloc lab, which was rewarding, fun, yet so painful to debug. In order of decreasing difficulty, the labs were: Shell (conceptually hard) > Malloc Final (I died from debugging it) > Cache (starting from scratch was hard) > Proxy (ahhh the first few traces) > Shark File System (thread-level parallelism was hard) > Malloc Checkpoint > Datalab > Bomb (scary) > Attack > CProgramming. The final exam was manageable and the writtens every week helped me a lot with consolidating concepts. In hindsight, the course was worth the effort and extra money paid this summer. (I spent around 25 hours every week)
99-270 Summer Undergraduate Research Apprenticeship: I did chem research in the Kurnikova Lab on computationally driven drug discovery. I was responsible for parametrising files and running molecular dynamics simulations. This experience made me question my choice of research as I did not really enjoy it. (I spent around 5 hours every week)
Reflection: I spent most of the summer in Pittsburgh and flew back home at the end. I’m grateful for this decision as I found that being physically present in 15213 lectures and OH was significantly more beneficial for my learning. I also acquired essential life skills that have enabled me to take care of myself independently, preparing myself for life off-campus. Additionally, I decided to switch to Information Systems after realising that a career in research, which I initially thought would be appealing to me, is not my true calling.
Spring 2024
15-122 Principles of Imperative Computation: a cs core that exposes you to data structures. Concepts such as linked lists, stacks/queues and AVL rotations were interesting to learn, but the others not so much. The labs were okay, with the last few challenging to debug in C and the OH queues for those were around 2-3 hours long. The least enjoyable part of the course were the exams. I experienced stressful time constraints in all of the exams, and for the first exam, I remember leaving nearly 3 pages blank. When reviewing the marks I lost after the exam, I feel like most can be avoided if I just had more time. The median for all exams were in the low 70s and there were no curves for this course. (I spent around 13-15 hours every week)
09-106 Modern Chemistry II: a fair chemistry core that covers thermo, kinetics, equilibrium, acids/bases… The only concept that took a while to understand was pseudo rate law, but the test questions were relatively formulaic. The weekly quizzes (sometimes twice a week) and the 8pm recitations were annoying. Overall a chill class with generous grading. (I spent around 7 hours every week)
73-102 Principles of Microeconomics: an introductory microeconomics class that has a heavy focus on game theory and market competition. The first 1/3 was extremely light as it overlaps with IB economics. The rest is mathy with a lot of calculations and logic. I also found the questions to be highly hypothetical and theoretical with low correlation to real world cases or economic policies, which I enjoyed learning about in high school. Therefore, I wouldn’t classify it as the most engaging or easiest gen-ed, but it did not take up much time for me. (I spent around 5 hours every week)
76-101 Intepretation and Arguments: an extremely easy writing class (depends on the instructor). I have never received such high scores in essays back in high school. I almost feel like I didn’t learn anything new. (I spent around 4 hours every week)
67-250 The Information Systems milieux: a first year IS class that covered the basics of web dev (HTML/CSS, JS), SQL databases, and conceptual topics such as the business aspect of IS. It had a moderate workload and requires consistent effort throughout the semester since there was an essay (case study) and 2 large projects. (I spent around 9 hours every week)
Reflection: This semester was light with only 49 units. I declared a chemistry major on a computational chemistry track. Honestly speaking, I didn’t really enjoy any of the classes I took this semester and questioned a lot about my major choice and career goals.
Fall 2023
! 21-127 Concepts of Mathematics: an introductory course that teaches proof and discrete math. My professor’s median grades for the first two exams were in the 60s. Since I had no prior knowledge of proof-based math, I found the pace of the course to be quite challenging. The weekly problem sets, which only consisted of 5-6 questions, usually took me around three days to complete. I heavily relied on office hours for assistance, but the TAs were overwhelmed with the number of students, so I often didn’t get my questions answered and some concepts remained unclear. I also experienced time constraints during the exams. However, the final was more lenient with time, and I ended up doing much better than the previous tests. (I spent around 17-20 hours every week on this class)
15-112 Fundamentals of programming and CS: an introductory CS course that teaches some basic programming logic in python. I had already grasped most of the course concepts before taking it, but I still found the course to be engaging and rewarding. In my opinion, the course was extremely well-designed, and the TAs were incredibly supportive. My favourite part of the course was the term project, where I wrote around 1000 lines of code exploring some path-finding algorithms in maze generation. The project also made me appreciate many concepts that I had previously underestimated, such as object-oriented programming and top-down designs. (I spent around 6-10 hours every week on this class and around 15-18 hours during TP season)
03-151 Honors Modern Biology: an honours version of an introductory biology class focusing on the molecular aspects of biology, mainly biochem and cellular biology. The class was pretty chill, but we covered a lot of material in depth, such as cytoskeleton and spindle movement. I enjoyed the level of detail we covered in biochemistry and it provided answers to many of the “why” questions I had in high school. Our professor was very knowledgeable in his field, and it was surprising to learn about many cutting-edge advancements in biology that even chat-gpt cannot recognise. (I spent around 4 hours every week if there are no exams and 6-8 hours cramming before each exam)
57-181 Solfege I: an introductory solfege class. Fairly chill and did not require extra time after lectures. The core content was to identify musical intervals and dictate short melodies. Quite helpful in transcribing music in the future. I was planning to take it with Eurthymics I for a music minor, but didn’t get off the waitlist for that class. (I spent around 2-3 hours every week only for the lectures)
38-101 Eureka: discovery & impact: a compulsory class for me to take. Was OK. (I spent around 3-4 hours every week only for the lectures)
Reflection: I only took 43 units this semester, which was supposed to help me adjust to college life easily. However, I found that Concepts was taking much more time than expected. Coming from a relatively chill high school that was much less competitive than CMU, I haven’t established good study habits and struggled with this transition into college. Hopefully, next semester will be better.
Pre-college credits using IB: 21120 Calculus I, 21122 Calculus II, 09105 Modern Chemistry I